package Problem7;

/**
 * 这道题注要将颠倒过来的数字与 Integer.MAX_VALUE 比较，来确定是否超出了 int 取值范围
 * 记得处理负数。
 */

class Solution {

    public int reverse(int x) {
        // 判断正负号   如果是负，就将其变为正数
        boolean tab = x > 0 ? false : true;
        if (tab){
            x *= -1;
        }
        long num = 0;
        // 取数
        while (x > 0) {
            num = num * 10 + (x % 10);
            x = x / 10;
        }
        if (num > Integer.MAX_VALUE){
            return 0;
        }else if (tab){
            num *= -1;
        }
        return (int)num;
    }

}